home *** CD-ROM | disk | FTP | other *** search
- /* UserStatus.mod
-
- .----------------------------------------.------------------------------------.
- | Handle: | Slot Number: 1,222 |
- | From: 123456789012345678901234567890 | Computer Type: |
- | Phone: | Last Call: 06/06/93 @ 22:22:22 |
- |-------------------------.--------------^----------.-------------------------|
- | Security Level: 233 | Daily Time: 1,000 | Bulletins Access: Yes |
- | Byte Ratio: | Time Left: 1,000 | Door Access: |
- | File Ratio: Off | Time Bank: 1,000 | File Access: |
- `-------------------------^-------------------------^-------------------------'
-
- Totals Today's Stats Limits
- .-------------------------.-------------------------.-------------------------.
- | Calls: 11,000 | Calls: 11,000 | Calls: 11,000 |
- | Messages: 11,000 | Messages: 11,000 | Messages: 22,099 |
- |-------------------------|-------------------------|-------------------------|
- | UL Files: 1,000 | UL Files: 1,000 | |
- | UL Bytes: 1,000,000,000 | UL Bytes: 1,000,000,000 | |
- |-------------------------|-------------------------|-------------------------|
- | DL Files: 1,000 | DL Files: 1,000 | DL Files: 1,000 |
- | DL Bytes: 1,000,000,000 | DL Bytes: 1,000,000,000 | DL Bytes: 1,000,000,000 |
- `-------------------------^-------------------------^-------------------------'
- */
- //**********************
- //***** Includes *****
- //**********************
-
- #include <proto/all.h>
- #include <stdio.h>
- #include <time.h>
-
- #include <string.h>
- #include <tempest/headers.h>
- #include <Skeleton/Commas.h>
-
- //********************************
- //***** Structures/Defines *****
- //********************************
-
- struct MyMessage
- {
- struct Message Msg;
- struct User User;
- char text[255];
- char text1[255];
- int car,Value,Data;
- long LongValue;
- int IntValue;
- };
-
- struct User User;
- struct MsgPort *MyPort = NULL;
- struct MyMessage *msg;
-
- void GetStr(char s[],int opt);
- int DOORIO();
-
- int EXIT_FLAG, DOOR_DATA, DOOR_CAR, DOOR_VALUE, DOOR_VALUE1 = 0,first = 0;
- char DOOR_MSG [255],DOOR_MSG1[255],MyName[255],st[100];
-
- //*****************************
- //***** PL (Print Line) *****
- //*****************************
-
- void pl(fmt,a1,a2,a3,a4,a5,a6,a7)
- char *fmt;
- { char s[255]; sprintf(s,fmt,a1,a2,a3,a4,a5,a6,a7); DOOR_DATA=1; strcpy(DOOR_MSG,s); DOORIO(); }
-
- //******************
- //***** Main *****
- //******************
-
- main(int argc,char *argv[])
- {
- char string[255],string1[255];
- char Day[5],Month[5],Year[5];
- register int x=1;
- if(!DoorStart(argv[1])) { PutStr("UserStatus.mod v1.0\n"); exit(0); }
- //********************************************************************
-
- pl("\f.----------------------------------------.------------------------------------.\r\n");
- pl("| Handle: %-30s | Slot Number: %-5s |\r\n",
- User.Name,commas(User.Slot_Number,buff));
- pl("| From: %-30s | Computer Type: %11s |\r\n",
- User.City,User.ComputerType);
- pl("| Phone: %-12s | Last Call: |\r\n",
- User.VoicePhone);
- pl("|-------------------------.--------------^----------.-------------------------|\r\n");
- pl("| Security Level: %3d | Daily Time: %-5s | Bulletins Access: |\r\n",
- User.Security,commas((User.Limit_Time),buff));
- pl("| Byte Ratio: %-2d | Time Left: %-5s | Door Access: |\r\n",
- User.F_Ratio,commas(User.Left_Time,buff));
-
- pl("| File Ratio: %-2d | Time Bank: %-5s | File Access: |\r\n",
- User.B_Ratio,commas((User.Total_TimeBank),buff));
- pl("`-------------------------^-------------------------^-------------------------'\r\n\r\n");
-
- pl(" Totals Today's Stats Limits\r\n");
- pl(".-------------------------.-------------------------.-------------------------.\r\n");
- pl("| Calls: %-6s | Calls: ",
- commas(User.Total_Calls,buff));
- pl("%-6s | Calls: ",
- commas(User.Period_Calls,buff));
- pl("%-6s |\r\n",commas(User.Limit_Calls,buff));
-
-
- pl("| Messages: %-6s | Messages: ",
- commas(User.Total_Posts,buff));
- pl("%-6s | Messages: ",
- commas(User.Period_Posts,buff));
- pl("%-6s |\r\n",commas(User.Limit_Posts,buff));
-
- pl("|-------------------------|-------------------------|-------------------------|\r\n");
- pl("| UL Files: %-6s | UL Files: ",
- commas(User.Total_ULFiles,buff));
- pl("%-6s | |\r\n",commas(User.Period_ULFiles,buff));
-
-
- pl("| UL Bytes: %-13s | UL Bytes: ",
- commas(User.Total_ULBytes,buff));
- pl("%-13s | |\r\n",commas(User.Period_ULBytes,buff));
-
- pl("|-------------------------|-------------------------|-------------------------|\r\n");
- pl("| DL Files: %-6s | DL Files: ",
- commas(User.Total_DLFiles,buff));
- pl("%-5s | DL Files: ",
- commas(User.Period_DLFiles,buff));
- pl("%-5s |\r\n",commas(User.Limit_DLFiles,buff));
-
- pl("| DL Bytes: %-13s | DL Bytes: ",
- commas(User.Total_DLBytes,buff));
- pl("%-13s | DL Bytes: ",
- commas(User.Period_DLBytes,buff));
- pl("%-13s |\r\n",commas(User.Limit_DLBytes,buff));
- pl("`-------------------------^-------------------------^-------------------------'\r\n");
-
-
- // strcpy(string,ctime(&User.Time_Last_Logoff));
- // strmid(string,Month,5,3);
- // strmid(string,Day,9,2);
- // strmid(string,Year,23,2);
- // pl("Lst Date On : %2s %s %s\r\n",Day,Month,Year);
- //********************************************************************
- // pl("Security Lv : %d\r\n",User.Security);
- //********************************************************************
- // pl("# Times On : %-5d Today : %d\r\n",User.Total_Calls,User.Period_Calls);
- //********************************************************************
- // pl("Msgs Posted : %-5d Today : %d\r\n",User.Total_Posts,User.Period_Posts);
- //********************************************************************
- // if(User.F_Ratio==0) strcpy(string1,"Disabled");
- // else sprintf(string1,"%d/1",User.B_Ratio);
- // pl("File Ratio : %s\r\n",string1);
- //********************************************************************
- // if(User.B_Ratio==0) strcpy(string1,"Disabled");
- // else sprintf(string1,"%d/1",User.B_Ratio);
- // pl("Byte Ratio : %s\r\n",string1);
- //********************************************************************
- // pl("# Downloads : %-4d Today : %d\r\n",User.Total_DLFiles,User.Period_DLFiles);
- //********************************************************************
- // pl("# Uploads : %-4d Today : %d\r\n",User.Total_ULFiles,User.Period_ULFiles);
- //********************************************************************
- // pl("Bytes DL'd : %-10ld Today : %ld \r\n",User.Total_DLBytes,User.Period_DLBytes);
- //********************************************************************
- // pl("Bytes UL'd : %-10ld Today : %ld\r\n",User.Total_ULBytes,User.Period_ULBytes);
- //********************************************************************
- // GetStr(string1,19);
- // pl("Online Baud : %s\r\n",string1);
- //********************************************************************
- // pl("Bytes Avail : %ld\r\n\r\n",User.Limit_DLBytes);
- //********************************************************************
-
- //*************************
- //***** Close Stuff *****
- //*************************
- DOOR_DATA=99;
- strcpy(DOOR_MSG,'\0');
- DOORIO();
- while(msg=(struct MyMessage *)GetMsg(MyPort)) ReplyMsg((struct Message *)msg);
- if(MyPort) DeletePort(MyPort);
- exit(0);
- }
-
-
-
-
-
-
-
-
-
-
-
- //********************
- //***** DoorIO *****
- //********************
-
- int DOORIO()
- {
- struct MsgPort *HisPort;
- struct MyMessage message;
- int UPDATE;
- if(EXIT_FLAG) return 0;
- UPDATE=0;
- HisPort = FindPort(st);
- if(HisPort!=NULL)
- {
- message.Msg.mn_Node.ln_Type = NT_MESSAGE;
- message.Msg.mn_Length = sizeof(message);
- message.Msg.mn_ReplyPort = MyPort;
- if(first)CopyMem(&User,&message.User,sizeof(struct User));
- message.car = 0;
- message.Data = DOOR_DATA;
- message.Value = DOOR_VALUE;
- message.IntValue = DOOR_VALUE1;
- strcpy(message.text,DOOR_MSG);
- strcpy(message.text1,DOOR_MSG1);
- PutMsg((struct MsgPort *)HisPort,(struct Message *)&message);
- Wait(1 << MyPort->mp_SigBit);
- GetMsg(MyPort);
- DOOR_DATA = message.Data;
- DOOR_VALUE = message.Value;
- DOOR_VALUE1 = message.IntValue;
- strcpy(DOOR_MSG,message.text);
- strcpy(DOOR_MSG1,message.text1);
- CopyMem(&message.User,&User,sizeof(struct User));
- first=1;
- UPDATE=0;
- if(message.car) EXIT_FLAG=1;
- }
- return 0;
- }
-
- //************************
- //***** Door Start *****
- //************************
-
- DoorStart(char node[])
- {
- struct MsgPort *HisPort;
- EXIT_FLAG = 0;
- sprintf(st,"%s:TEMPEST_DOOR",node);
- HisPort = FindPort(st);
- if(HisPort==NULL) return (FALSE);
- sprintf(MyName,"%s:DOOR_PORT",node);
- MyPort = CreatePort(MyName,0L);
- if(MyPort==NULL)
- {
- PutStr("Cant open port");
- return(int)FALSE;
- }
- DOORIO();
- return (int)TRUE;
- }
-
- //*********************************
- //***** GetStr (Get String) *****
- //*********************************
-
- void GetStr(char s[],int opt)
- { DOOR_DATA=15; DOOR_VALUE=opt; strcpy(s,'\0'); DOORIO(); strcpy(s,DOOR_MSG); }
-